package main

import "fmt"

func main() {
	func3()
	func4()
	func5()
	//indexOutOf()
	//panic 配合 recover
	indexOutOfWithRecover()
}

func func3() {
	fmt.Println("func3 打印")
}
func func5() {
	fmt.Println("func5 打印")
}
func func4() {
	panic("func4 打印")
}
func indexOutOf() {
	array := []int{1}
	fmt.Println(" array[3] ", array[3])
}

func indexOutOfWithRecover() {
	defer func() {
		fmt.Println("在 indexOutOfWithRecover  中执行延迟函数")
		msg := recover()
		fmt.Println("获取到 recover() 中的错误信息: ", msg)
	}()

	indexOutOf()
}
